package com.tuda.system.mapper;

import java.util.List;
import com.tuda.system.domain.TudaAppletUser;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 小程序用户Mapper接口
 * 
 * @author tuda
 * @date 2023-07-13
 */
public interface TudaAppletUserMapper
{

    /**
     * 查询手机号是否存在
     * @param phone
     * @return
     */
    @Select("SELECT id, nick_name nickName, phone, percentage, user_type userType, dept_name deptName, password, wx_open_id wxOpenId, wx_union_id wxUnionId, is_delete isDelete, create_time createTime FROM tuda_applet_user WHERE phone=#{phone}")
    TudaAppletUser selectTudaAppletUserByPhone(String phone);

    @Select("SELECT * FROM tuda_applet_user WHERE is_delete=0 AND wx_union_id=#{wxUnionId} LIMIT 1")
    TudaAppletUser queryUserByWxUnionId(@Param("wxUnionId") String wxUnionId);

    /**
     * 查询小程序用户
     * 
     * @param id 小程序用户主键
     * @return 小程序用户
     */
    TudaAppletUser selectTudaAppletUserById(Long id);

    /**
     * 查询小程序用户列表
     * 
     * @param tudaAppletUser 小程序用户
     * @return 小程序用户集合
     */
     List<TudaAppletUser> selectTudaAppletUserList(TudaAppletUser tudaAppletUser);

    /**
     * 新增小程序用户
     * 
     * @param tudaAppletUser 小程序用户
     * @return 结果
     */
     int insertTudaAppletUser(TudaAppletUser tudaAppletUser);

    /**
     * 修改小程序用户
     * 
     * @param tudaAppletUser 小程序用户
     * @return 结果
     */
     int updateTudaAppletUser(TudaAppletUser tudaAppletUser);

    /**
     * 删除小程序用户
     * 
     * @param id 小程序用户主键
     * @return 结果
     */
     int deleteTudaAppletUserById(Long id);

    /**
     * 批量删除小程序用户
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
     int deleteTudaAppletUserByIds(String[] ids);
}
